/**
 * @filename:Contract3UpdateDTO 2024-01-01 00:00:00
 * @project com/lwl/blue  V1.0
 * Copyright(c) 2024 <a href=mailto:lanwenliang@yidianlife.com>蓝文良</a> Co. Ltd.
 * All right reserved.
 */
package com.lwl.blue.dto;

import com.alibaba.fastjson.annotation.JSONField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>采购合同更新DTO</p>
 *
 * <p>说明： 用于采购合同更新数据封装</P>
 *
 * @version: V1.0
 * @author: <a href=mailto:lanwenliang@yidianlife.com>蓝文良</a>
 */
@Data
public class Contract3UpdateDTO {
    
    @ApiModelProperty(name = "contractInnerId", value = "合同内码", required = true)
    @NotBlank(message = "合同内码不能为空")
    private String contractInnerId;
    
    @ApiModelProperty(name = "signDate", value = "签约日期")
    @JSONField(format = "yyyy-MM-dd")
    private Date signDate;
    
    @ApiModelProperty(name = "validStartDate", value = "合同有效起始日期")
    @JSONField(format = "yyyy-MM-dd")
    private Date validStartDate;
    
    @ApiModelProperty(name = "validEndDate", value = "合同有效结束日期")
    @JSONField(format = "yyyy-MM-dd")
    private Date validEndDate;
    
    @ApiModelProperty(name = "signLocation", value = "签约地点")
    private String signLocation;
    
    @ApiModelProperty(name = "deliveryPlanType", value = "交期计划方式")
    private String deliveryPlanType;
    
    @ApiModelProperty(name = "deliveryTerms", value = "交期条款")
    private String deliveryTerms;
    
    @ApiModelProperty(name = "expectedDeliveryDate", value = "预计交货日期")
    @JSONField(format = "yyyy-MM-dd")
    private Date expectedDeliveryDate;
    
    @ApiModelProperty(name = "pickupPeriodStart", value = "提货期限开始")
    @JSONField(format = "yyyy-MM-dd")
    private Date pickupPeriodStart;
    
    @ApiModelProperty(name = "pickupPeriodEnd", value = "提货期限结束")
    @JSONField(format = "yyyy-MM-dd")
    private Date pickupPeriodEnd;
    
    @ApiModelProperty(name = "paymentTermsType", value = "付款期限类型")
    private String paymentTermsType;
    
    @ApiModelProperty(name = "paymentTermsDays", value = "付款期限天数")
    private Integer paymentTermsDays;
    
    @ApiModelProperty(name = "intellectualPropertyClause", value = "知识产权保护条款")
    private String intellectualPropertyClause;
    
    @ApiModelProperty(name = "confidentialityClause", value = "保密义务条款")
    private String confidentialityClause;
    
    @ApiModelProperty(name = "liabilityClause", value = "违约责任条款")
    private String liabilityClause;
    
    @ApiModelProperty(name = "otherClauses", value = "其他条款")
    private String otherClauses;
    
    @ApiModelProperty(name = "contractStatus", value = "合同状态")
    private Integer contractStatus;
    
    @ApiModelProperty(name = "amountRemark", value = "金额备注")
    private String amountRemark;
}
